package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

/**
这段代码是一个使用 Gin 框架的简单 Web 应用程序。以下是详细分析：

r := gin.Default()：创建一个默认的 Gin 引擎实例，配置了一些默认的中间件，例如日志记录和恢复中间件。

r.LoadHTMLFiles(...)：加载指定的 HTML 模板文件。"./templates/posts/index.html" 和 "./templates/users/index.html" 这两个文件将被用于渲染响应。

r.GET("/posts/index", func(c *gin.Context) {...})：定义一个处理 GET /posts/index 请求的路由。c.HTML 方法用于渲染 HTML 模板，"posts/index.html" 是要渲染的模板，gin.H 是传递给模板的数据（在这里是标题 posts/index）。

r.GET("users/index", func(c *gin.Context) {...})：定义一个处理 GET /users/index 请求的路由。渲染 "users/index.html" 模板，并传递标题 users/index。

r.Run(":8080")：启动 Gin 服务器，并监听在 8080 端口。

总结：这个程序会在 /posts/index 和 /users/index 路由上分别返回 index.html 页面，其中页面的标题由 Gin 的 gin.H 数据传递动态设置。
*/

func main() {
	r := gin.Default()
	r.LoadHTMLGlob("1-web-template/templates/**/*")
	//相对路径要从根目录下开始
	//r.LoadHTMLFiles("1-web-template/templates/posts/index.html", "1-web-template/templates/users/index.html")
	r.GET("/posts/index", func(c *gin.Context) {
		c.HTML(http.StatusOK, "posts/index.html", gin.H{
			"title": "posts/index",
		})
	})

	r.GET("/users/index", func(c *gin.Context) {
		c.HTML(http.StatusOK, "users/index.html", gin.H{
			"title": "users/index",
		})
	})

	r.Run(":8080")
}
